package org.strongme.modules.project.service;

import java.util.List;
import java.util.Set;

import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.strongme.common.service.CrudService;
import org.strongme.modules.project.dao.OpGuideDao;
import org.strongme.modules.project.entity.OpGuide;
import org.strongme.util.StringUtils;

@Service
@Transactional(readOnly=true)
public class OpGuideService extends CrudService<OpGuideDao, OpGuide>{
	
	public Integer checkForCountThisProject(OpGuide opGuide) {
		return dao.checkForCountThisProject(opGuide);
	}
	public List<String> getGGListByProject(OpGuide opGuide) {
		return dao.getGGListByProject(opGuide);
	}
	
	public List<OpGuide> getOGByProjectGG_Tzfs(OpGuide opGuide) {
		return dao.getOGByProjectGG_Tzfs(opGuide);
	}

	public OpGuide getOGByProAndGG(OpGuide opGuide) {
		return dao.getOGByProAndGG(opGuide);
	}

	public List<String> loadCzByProjectId(OpGuide opGuide) {
		List<String> czList = dao.loadCzByProjectId(opGuide);
		Set<String> czSet = Sets.newHashSet();
		for(String cz : czList) {
			if(StringUtils.isNotBlank(cz)) {
				String[] czArr = cz.split(",");
				czSet.addAll(Lists.newArrayList(czArr));
			}
		}
		List<String> czListResult = Lists.newArrayList(czSet);
		return czListResult;
	}
	
}
